import axios from 'axios';
import qs from 'query-string';

export interface BizAdminRecord {
    id: number;
    biz_id: number;
    user_id: number;
    role: 'super' | 'normal';
    status: number;
    created_at: string;
    updated_at: string;
    username?: string;
}

export interface AdminRecord {
    id: number;
    username: string;
}

export interface BizAdminParams {
    biz_id: number;
}

export interface BizAdminSubmitData {
    id?: number;
    biz_id: number;
    user_id: number;
    role?: 'super' | 'normal';
    status?: number;
}

export interface BizAdminStatusData {
    id: number;
    status: number;
}

/**
 * 获取商家管理员列表
 * @param params
 */
export function queryBizAdminList(params: BizAdminParams) {
    return axios.get<BizAdminRecord[]>('/admin/bizAdmin/index', {
        params,
        paramsSerializer: (obj) => {
            return qs.stringify(obj);
        },
    });
}

/**
 * 提交商家管理员表单（创建/更新）
 * @param data
 */
export function submitBizAdminForm(data: BizAdminSubmitData) {
    return axios.post('/admin/bizAdmin/submit', data);
}

/**
 * 删除商家管理员
 * @param id
 */
export function delBizAdmin(id: number) {
    return axios.post('/admin/bizAdmin/delete', { id });
}

/**
 * 更新商家管理员状态
 * @param data
 */
export function updateBizAdminStatus(data: BizAdminStatusData) {
    return axios.post('/admin/bizAdmin/updateStatus', data);
}

/**
 * 获取所有管理员列表（用于选择）
 * @param params
 */
export function queryAllAdmins(params: BizAdminParams) {
    return axios.get<AdminRecord[]>('/admin/bizAdmin/getAllAdmins', {
        params,
        paramsSerializer: (obj) => {
            return qs.stringify(obj);
        },
    });
} 